package com.chis.dubbo;

import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 * @Description json自定义date格式
 * @Company zwx
 * @author CZJ
 * @version 2016年11月21日
 */
public class JsonDateValueProcessor implements JsonValueProcessor {

	/** 日期格式 */
	private String format = "yyyy-MM-dd HH:mm:ss";

	/**
	 * 父类抽象方法
	 * @param value 对象
	 * @param config 配置
	 * @return 对象
	 */
	public Object processArrayValue(Object value, JsonConfig config) {
		return process(value);
	}

	/**
	 * 父类抽象方法
	 * @param key 键值
	 * @param value 对象
	 * @param config 配置
	 * @return 对象
	 */
	public Object processObjectValue(String key, Object value, JsonConfig config) {
		return process(value);
	}

	/**
	 * 格式化
	 * @param value 待格式化对象
	 * @return 格式化对象
	 */
	private Object process(Object value) {
		if (value instanceof Date) {
			SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.UK);
			return sdf.format(value);
		} else if (value instanceof Integer) {
		} else if (value instanceof Long) {
		} else if (value instanceof Short) {
		}
		return value == null ? null : value.toString();
	}
}